package com.cheng.service;

import com.cheng.common.exception.CommonException;
import com.cheng.data.entity.BorrowInfoEntity;
import com.cheng.data.vo.BorrowInfoVO;
import com.cheng.data.vo.NoticeVO;
import com.cheng.data.vo.StatisticsVO;

import java.util.List;
import java.util.Map;

/**
 * @author: ChengJW
 * @date: 2021/12/20 20:12
 * @version: 1.0
 * @description: 借阅信息
 */
public interface BorrowService {

    /**
    * @author: ChengJW
    * @params: [entity]
    * @return: void
    * @date: 2021/12/20
    * @description: 新增借阅信息
    */
    void insertBorrowInfo(BorrowInfoEntity entity) throws CommonException;

    /**
    * @author: ChengJW
    * @params: [map]
    * @return: java.util.List<com.cheng.data.vo.BorrowInfoVO>
    * @date: 2021/12/20
    * @description: 查询待归还的借阅信息
    */
    List<BorrowInfoVO> queryBorowInfoList(Map<String,Object> map) throws CommonException;

    /**
    * @author: ChengJW
    * @params: [entity]
    * @return: void
    * @date: 2021/12/20
    * @description: 修改借阅信息
    */
    void updateBorrowInfo(BorrowInfoEntity entity) throws CommonException;

    /**
    * @author: ChengJW
    * @params: [vo]
    * @return: com.cheng.data.entity.BorrowInfoEntity
    * @date: 2021/12/20
    * @description: 查询借阅信息
    */
    BorrowInfoEntity queryBorrowInfo(BorrowInfoVO vo) throws CommonException;

    /**
     * @author: ChengJW
     * @params: [map]
     * @return: com.cheng.data.vo.StatisticsVO
     * @date: 2021/12/21
     * @description: 统计借阅信息
     */
    List<StatisticsVO> queryStatisticsBrowVO(Map<String,Object> map)  throws CommonException;

    /**
    * @author: ChengJW
    * @params: [map]
    * @return: java.util.List<com.cheng.data.vo.NoticeVO>
    * @date: 2021/12/21
    * @description: home 页面关于借阅信息的提醒
    */
    NoticeVO queryBorrowInfoNoticeVO(Map<String,Object> map)  throws CommonException;
}
